go/types.Named.underlying (field)
23 uses
go/types (current package)
decl.go#L641: if named.underlying == nil {
decl.go#L642: named.underlying = Typ[Invalid]
decl.go#L652: named.underlying = Typ[Invalid]
named.go#L123: underlying Type // possibly a *Named during setup; never a *Named once set up completely
named.go#L187: assert(n.underlying == nil) // n is an unresolved instance
named.go#L195: n.underlying = underlying
named.go#L215: assert(n.underlying == nil)
named.go#L221: n.underlying = underlying
named.go#L244: typ := &Named{check: check, obj: obj, fromRHS: underlying, underlying: underlying, methods: methods}
named.go#L294: switch t.underlying.(type) {
named.go#L461: t.resolve().underlying = underlying
named.go#L509: return Unalias(t.resolve().underlying)
named.go#L602: n.underlying = u
named.go#L639: check.trace(n.obj.pos, "=> %s (tparams = %s, under = %s)", n, n.tparams.list(), n.underlying)
named.go#L643: assert(n.inst.orig.underlying != nil)
named.go#L651: if asNamed(orig.underlying) != nil {
named.go#L673: underlying := n.check.subst(n.obj.pos, orig.underlying, smap, n, ctxt)
named.go#L682: if iface == orig.underlying {
named.go#L710: return t.underlying
typestring.go#L225: if t == asNamed(universeComparable.Type()).underlying {
typexpr.go#L426: t.underlying = typ
validtype.go#L131: t.underlying = Typ[Invalid]
validtype.go#L132: t.Origin().underlying = Typ[Invalid]